perm filename CRST[NEW,LCS] blob sn#502548 filedate 1980-04-25 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	35	IF(R.NE.2)GO TO 36
C00005 ENDMK
CāŠ—;
35	IF(R.NE.2)GO TO 36
	IF(RS.EQ.7)GO TO 30
C SKIP ALL THIS IF NEW CENTERING (P9 NOW HAS POS.)
	IF(RS.LT.6.)GO TO 30

	RR=RIGHT(NA,-1,JK)
	Q(JK+3)=RR-1.6*RSTJ2+(RIGHT(NA,1,JK)-RR)/2.
C  FUNCTION 'RIGHT' FINDS ITEMS TO LFT AND RT OF REST FOR CENTERING.
C CENTERS WHOLE REST
	GO TO 30
RIGHT:	0		;FUNCTION RIGHT(NA,J,JK)
	MOVE 4,@(16)
	MOVE 6,4
	MOVE 11,@1(16)	; SAVE J IN 11
	ADD 4,11	;  K=NA+J      J= +1 OR -1
	SKIPLE 4	; IF(K.GT.0)GO TO RT4
	JRST RT4
	MOVE 0,Q+3	;RIGHT=Q(JK+3)
	JRA 16,3(16)	;RETURN
RT4:	MOVEI 5,Q	; Q	R=Q(JK+2)
	ADD 5,@2(16)
	MOVE 12,2(5)	; RX=Q(JK+3)-2   CURRENT POS. OF REST-2
;;;	FSBR 12,[2.0]	; NEEDED IF NOTHING FOUND TO LEFT.
	MOVE 5,1(5)	;R  THE STAFF NUM.
	MOVEI 8,1	;JX=1       FOR REVERSE LOOP
	SKIPL @1(16)	;IF(J.GT.0)JX=I    FORWARD LOOP
	MOVE 8,LLL+2
RT1:	JSA 16,CODEN	;	DO 134 K=NA-1,1,-1
	JUMP PX		;	R8=CODEN(KPN,K,Q,LL)
	JUMP 4
	JUMP Q
	JUMP 7		;LL
	CAMN 0,[4.0]	;	IF(R8.EQ.4)GO TO 234
	JRST RT2
  	MOVE 3,Q+1(7)	;	IF(Q(LL+2).NE.R)GO TO 134
  	CAME 3,5
  	JRST RT3
	CAME 0,[18.0]	;  	IF(R8.EQ.18.OR.R8.EQ.17)GO TO 234
	CAMN 0,[17.0]	;	JUMP ON KEY SIG OR METER
	JRST RT2
;;	CAML 0,[10.0]	;	IF(R8.GE.10)GO TO 134
;;	JRST RT3
;;	CAME 0,[3.0]	;	IF(R8.NE.3)GO TO 234
;;	JRST RT2
RT3:	CAMN 4,8	;134 	CONTINUE
	JRST .+3
	ADD 4,11
	JRST RT1
	SKIPG 11	;SKIP NEXT IF GOING FORWARD IN LOOP (LOOKING TO RIGHT)
	MOVE 0,12	;USE ITS OWN POS.-2 IF NOTHING FOUND TO LEFT
	SKIPA		;	RR=RX
RT2:	MOVE 0,Q+2(7)	;	C NOW FOUND ITEM TO LEFT OR RT ON THIS STAFF.
	JRA 16,3(16)	;234	RR=Q(LL+3)